﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using vudu.Logica.Clases;
using vudu.EnlaceDatos.SqlServer;

namespace vudu.Pruebas
{
    [TestFixture]
    public class PruebaMateria
    {
        private Materia materia;

        public PruebaMateria()
        {
            //inicializar cosas
        }

        [SetUp]
        public void Init()
        {
            materia = new Materia();
        }

        #region Pruebas Materia Grupo 5
        [Test]
        public void PruebaCodigoNombre()
        {
            String solucion = "1 Desarrollo del Software";
            materia.Codigo = 1;
            materia.Nombre = "Desarrollo del Software";
            Assert.AreEqual(materia.codigoNombre, solucion);
            Assert.AreNotEqual(materia.codigoNombre, "2 Sistemas Distribuidos");
        }

        [Test]
        public void PruebaAgregarMateria()
        {
            materia.Nombre = "Materia de Prueba";
            materia.Descripcion = "Esta es la materia de prueba";
            materia.Estatus = "Activo";
            materia.HorasTeoria = 4;
            materia.HorasPractica = 2;
            int codigo = new Materia().AgregarMateria(materia);
            int respuesta = new SqlServerMateria().ConsultarMateria(materia.Nombre, 1).Codigo;
            Assert.AreEqual(codigo, respuesta);
            Assert.AreNotEqual(codigo, 0);
        }

        [Test]
        public void PruebaEliminarMateria()
        {
            materia.Nombre = "Materia de Prueba";
            materia = new SqlServerMateria().ConsultarMateria(materia.Nombre, 1);
            int respuesta = new Materia().EliminarMateria(materia);
            Materia prueba = new SqlServerMateria().ConsultarMateria("Materia de Prueba", 1);
            Assert.AreEqual(respuesta, 1);
            Assert.AreNotEqual(respuesta, 0);
            Assert.AreNotEqual(respuesta, 2);
            Assert.IsNull(prueba);
        }

        [Test]
        public void PruebaEqualsMateria()
        {
            Materia uno = new Materia();
            Materia dos = new Materia();
            uno.Codigo = 1;
            dos.Codigo = 1;
            Assert.True(uno.Equals(dos));
        }

        #endregion Pruebas Materia Grupo 5
    }
}